Jakub Steiner [Fri, 7 Dec 2018 11:00:21 +0000 (12:00 +0100)]
Adwaita: regenerate CSS
- for the previous patch
Jakub Steiner [Fri, 7 Dec 2018 09:58:56 +0000 (09:58 +0000)]
Merge branch 'context_menus' into 'master'
Adwaita GTK Theme: Add bigger shadow and border-radius to menus
See merge request GNOME/gtk!432
Jakub Steiner [Wed, 5 Dec 2018 15:19:46 +0000 (16:19 +0100)]
Adwaita: buttons & headerbar tweaks
- tone down the button z-depth
- flatter headerbars
Daniel Boles [Tue, 4 Dec 2018 20:37:08 +0000 (20:37 +0000)]
Box, Grid: Improve various bits of documentation
Issue #1495 showed that the docs of GtkGrid retain outdated implications
that (as was once, but is no longer, the case) it is intended to replace
GtkBox, by discussing HfW and widget properties in a way that suggests
GtkBox can't handle them. But of course it does, and it's preferable for
simple single-row/column cases. Worse, we said GtkGrid “provides exactly
the same functionality” for the latter case, but the original point of
that Issues was that it doesn’t, at least for CSS positional selectors!
Box:
• Use an actually meaningful @Short_description.
• Remove unhelpful @See_also references to unrelated containers.
• Remove references to “rectangular area”: it might be another shape
via CSS, or “rectangular” might falsely imply 2 dimensions of children.
• Mention Orientable:orientation.
• Emphasise usefulness of :[hv]align for allocating in the other axis.
• Don’t say that Grid “provides exactly the same functionality” for a
single row or column, since (A) it is overkill for that case and (B)
said Issue proved that it *doesn’t* for CSS child order, for example.
Grid:
• Don’t dwell on widget properties and height-for-width in a way that
wrongly implies that Box can’t handle those (or Grid can better). In
fact, just get rid of that bit altogether: Box handles them fine, and
such wording was only needed years ago for migration from GTK+ 2 to 3.
• Point to GtkBox as being preferred for the simple row/column use case.
Timm Bäder [Tue, 4 Dec 2018 14:32:22 +0000 (14:32 +0000)]
Merge branch 'bye-app-menu-gtk4' into 'master'
widget-factory: move app menu contents to primary menu (gtk4)
Closes #916
See merge request GNOME/gtk!365
Timm Bäder [Mon, 3 Dec 2018 18:08:05 +0000 (19:08 +0100)]
application: Remove dead assignment
Timm Bäder [Mon, 3 Dec 2018 18:07:54 +0000 (19:07 +0100)]
button: Remove some dead code
Timm Bäder [Mon, 3 Dec 2018 17:54:25 +0000 (18:54 +0100)]
button: Remove some unnecessary includes
Timm Bäder [Mon, 3 Dec 2018 17:29:46 +0000 (18:29 +0100)]
gl renderer: Fix remaining TODO about offset nodes
All of the nodes should now support offsets.
Timm Bäder [Mon, 3 Dec 2018 17:29:36 +0000 (18:29 +0100)]
gl renderer: transform nodes: offset
Timm Bäder [Mon, 3 Dec 2018 17:11:09 +0000 (18:11 +0100)]
gl renderer: Clip nodes: offset
Timm Bäder [Mon, 3 Dec 2018 17:03:34 +0000 (18:03 +0100)]
gl renderer: Linear gradients: offset
Timm Bäder [Mon, 3 Dec 2018 16:56:46 +0000 (17:56 +0100)]
gl renderer: Outset shadow nodes: offset
Timm Bäder [Mon, 3 Dec 2018 16:53:04 +0000 (17:53 +0100)]
gl renderer: Care about offset when rendering border nodes
Timm Bäder [Mon, 3 Dec 2018 16:49:51 +0000 (17:49 +0100)]
gl renderer: care about offset when rendering shadow nodes
Matthias Clasen [Tue, 4 Dec 2018 02:46:09 +0000 (21:46 -0500)]
emoji chooser: Actually force Emoji presentation
The previous commit was using the text presentation selector
instead of the Emoji one. Oops.
Timm Bäder [Sun, 2 Dec 2018 15:15:17 +0000 (16:15 +0100)]
testuite Add translucent offscreen rendering test case
Timm Bäder [Sun, 2 Dec 2018 15:14:31 +0000 (16:14 +0100)]
showrendernode: Fix GtkImage size
Make sure we show the paintable unscaled.
Timm Bäder [Sun, 2 Dec 2018 15:04:40 +0000 (16:04 +0100)]
gl renderer: Remove blend shader
It's unused.
Timm Bäder [Sun, 2 Dec 2018 15:03:08 +0000 (16:03 +0100)]
gl renderer: Reset opacity when rendering to a texture
The opacity will already be applied when rendering the final texture.
Timm Bäder [Sun, 2 Dec 2018 13:31:57 +0000 (14:31 +0100)]
gl renderer: Add function to draw debug rectangle
Timm Bäder [Sun, 2 Dec 2018 13:17:18 +0000 (14:17 +0100)]
gl renderer: Refactor render op builder
Timm Bäder [Sun, 2 Dec 2018 12:39:55 +0000 (13:39 +0100)]
gl renderer: Add more node types to print_render_node_tree
debugging ++
Timm Bäder [Sun, 2 Dec 2018 11:58:07 +0000 (12:58 +0100)]
window: Don't try to size-allocate unmapped popovers
The gtk_widget_size_allocate call won't do anything anyway.
Timm Bäder [Sun, 2 Dec 2018 10:04:15 +0000 (11:04 +0100)]
gl renderer: Use ops_transform_bounds_modelview in more places
Timm Bäder [Sun, 2 Dec 2018 09:20:59 +0000 (10:20 +0100)]
gl renderer: Add NodeSample
As a quick way of checking what a particular sample of nodes (e.g. all
offset node children) are made up of.
Timm Bäder [Sun, 2 Dec 2018 08:54:25 +0000 (09:54 +0100)]
sizerequest: Directly query new request_mode
We are already inside the function that populates the size request
cache, so do it here instead of implicitly in get_request_mode.
Timm Bäder [Sun, 2 Dec 2018 08:41:13 +0000 (09:41 +0100)]
gl renderer: Move geometry calculation further down
We don't need it above, so move it to where it belongs.
Timm Bäder [Sun, 2 Dec 2018 08:39:55 +0000 (09:39 +0100)]
gl renderer: Apply offset with scale
Timm Bäder [Sun, 2 Dec 2018 08:05:50 +0000 (09:05 +0100)]
gl renderer: Refactor add_offscreen_ops
Use a graphene_rect_t for the node bounds instead of 4 floats.
This makes it simpler to pass the size in without the offset applied.
Timm Bäder [Sun, 2 Dec 2018 07:17:34 +0000 (08:17 +0100)]
gl renderer: Add offscreen ops without offset applied
When doing color matrix nodes. This fixes color matrix node with scale =
2.
Timm Bäder [Sun, 2 Dec 2018 07:12:44 +0000 (08:12 +0100)]
gl renderer: Reset offset when rendering offscreen
We want to apply the offset to the rendered texture, not to the
offscreen-rendered content.
Timm Bäder [Sun, 2 Dec 2018 07:12:09 +0000 (08:12 +0100)]
gl renderer: add render ops for dumping the framebuffer
So offscreen rendering can be properly debugged.
Timm Bäder [Sun, 2 Dec 2018 05:56:52 +0000 (06:56 +0100)]
gl renderer: Set the render region as initial clip
So we avoid creating render ops for things outside of it.
Timm Bäder [Fri, 30 Nov 2018 12:14:00 +0000 (13:14 +0100)]
GdkGLContext: Fix damage computation with buffer_age
As per the spec:
> The back buffer can
> either be reported as invalid (has an age of 0) or it may be
> reported to contain the contents from n frames prior to the
> current frame.
So a buffer age of 1 means that the buffer was used in the last frame.
We were handling buffer_age==1 the same as buffer_age==0, i.e. we
returned the full damage for the surface.
[1] https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_buffer_age.txt
Timm Bäder [Thu, 29 Nov 2018 14:39:14 +0000 (15:39 +0100)]
gl renderer: Fix only_translation check
Matthias Clasen [Fri, 30 Nov 2018 21:38:02 +0000 (21:38 +0000)]
Merge branch 'force-emoji' into 'master'
Force emoji presentation
See merge request GNOME/gtk!431
Matthias Clasen [Tue, 27 Nov 2018 23:16:43 +0000 (18:16 -0500)]
Force emoji presentation
Append a variation selector to the Emoji sequences,
to force Emoji presentation. Without this, some
Emoji come out with text presentation by default.
Closes: Pango #334
Jakub Steiner [Fri, 30 Nov 2018 19:53:13 +0000 (20:53 +0100)]
Adwaita: updated switch control
- might be nasty to hide labels with CSS. We can fix properly later.
- the blue border seesm aliased when :checked
frederik.feichtmeier [Fri, 30 Nov 2018 10:54:22 +0000 (11:54 +0100)]
Adapt border-radius and box-shadow of menus to popovers
Jakub Steiner [Thu, 29 Nov 2018 20:54:56 +0000 (21:54 +0100)]
Adwaita: shade buttons
- it was a bit too flat
Jakub Steiner [Thu, 29 Nov 2018 19:11:39 +0000 (20:11 +0100)]
Adwaita: button tweaks
- step back on toning down the borders. Flatness !> legibility.
- darker active state for light
- draw gradinets from bottom up, to keep px sized shading regardless
of button size.
Jakub Steiner [Thu, 29 Nov 2018 13:34:53 +0000 (14:34 +0100)]
Adwaita: headerbar backdrop state
Jakub Steiner [Thu, 29 Nov 2018 12:12:44 +0000 (13:12 +0100)]
Adwaita: sync headerbar styling for devel mode
Timm Bäder [Thu, 29 Nov 2018 10:14:26 +0000 (11:14 +0100)]
Remove gtk_widget_intersect
It's been broken for quite a while now and doesn't make sense anymore
these days.
Timm Bäder [Thu, 29 Nov 2018 07:43:43 +0000 (08:43 +0100)]
popover: Don't recalculate position if unmapped
Timm Bäder [Thu, 29 Nov 2018 07:09:02 +0000 (08:09 +0100)]
gl renderer: Render non-trivial transforms to a texture
This way we can e.g. render rotated clips, borders, etc.
Timm Bäder [Sun, 12 Aug 2018 11:30:15 +0000 (13:30 +0200)]
inspect-button: Remove custom pick() implementation
This was added to work around the fact that pick() does not look at
insensitive widgets at all, but the replacement didn't properly work
either.
Timm Bäder [Sun, 12 Aug 2018 11:44:35 +0000 (13:44 +0200)]
popover: Get rid of a gtk_widget_get_allocation call
Use _compute_bounds instead.
Timm Bäder [Wed, 28 Nov 2018 17:40:48 +0000 (18:40 +0100)]
gl renderer: Cache offscreen textures per node, not size
Timm Bäder [Wed, 28 Nov 2018 08:30:27 +0000 (09:30 +0100)]
gl renderer: Expand matrix metadata extraction
Instead of getting the translation x/y everytime we use the modelview,
get it once, when extracting the metadata. Do the same with the scale.
And save if the matrix is "simple" at all, i.e. if it only consists of a
translation and/or scale. This will be helpful later when we start
drawing transformed nodes on textures.
Timm Bäder [Wed, 28 Nov 2018 16:09:29 +0000 (17:09 +0100)]
Revert "gldriver: Don't create surfaces to upload textures"
This reverts commit
6466e53bfcbbd975a3fd970913844ddb6ccc41d9.
This breaks GtkGLArea.
Timm Bäder [Tue, 27 Nov 2018 06:12:27 +0000 (07:12 +0100)]
widget: Remove one translate_coordinates copy
Just use the double version in the integer version.
Jakub Steiner [Wed, 28 Nov 2018 19:27:44 +0000 (20:27 +0100)]
Adwaita: flatten the headerbar again
frederik.feichtmeier [Wed, 28 Nov 2018 16:43:55 +0000 (17:43 +0100)]
Add bigger shadow and border-radius to menus
Increase the visibility of the box-shadow for menus
Introduce a border-radius variable for menus
Use this variable for all corners of menus except top for the top menus
Jakub Steiner [Wed, 28 Nov 2018 13:17:37 +0000 (14:17 +0100)]
Adwaita: tune button & hederbar colors
Mohammed Sadiq [Wed, 28 Nov 2018 11:21:45 +0000 (16:51 +0530)]
texttag: Replace gtk3-demo reference with gtk4-demo
Jakub Steiner [Tue, 27 Nov 2018 23:16:20 +0000 (00:16 +0100)]
Adwaita: buttons & headerbars
- tone down the bottom border contrast (increase bottom lightness,
decrease overall lightness)
- darken headerbars slightly (might require darkening wm colors when
dust settles)
Matthias Clasen [Tue, 27 Nov 2018 20:25:28 +0000 (20:25 +0000)]
Merge branch 'master-escape-included-svg' into 'master'
(#1471): base64-encode included SVGs to avoid mis-escaped characters
Closes #1471
See merge request GNOME/gtk!430
Federico Mena Quintero [Tue, 27 Nov 2018 18:13:31 +0000 (12:13 -0600)]
(#1471): base64-encode included SVGs to avoid mis-escaped characters
We wrap SVG data from icons within another SVG with extra styling
information. The wrapped SVG may contain characters that cannot be
part of a data: URL (https://fetch.spec.whatwg.org/#data-urls).
Librsvg 2.45 got more strict in its parsing of data: URLs; whereas
previously it ignored '#' characters in them, now it considers them to
be the start of a fragment identifier, which is not allowed in data:
URLs anyway.
To avoid unallowed characters, we now create a data: URL with a
base-64 encoded SVG.
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1471
Timm Bäder [Tue, 27 Nov 2018 05:06:28 +0000 (06:06 +0100)]
headerbar: Remove superfluous parentheses
Timm Bäder [Tue, 27 Nov 2018 05:00:30 +0000 (06:00 +0100)]
widget: Query CSS values later in size_allocate
Move it below the "this widget only changed its position" check.
Timm Bäder [Tue, 27 Nov 2018 04:59:47 +0000 (05:59 +0100)]
widget: Save baseline without CSS values applied
Similar to what we do with width/height.
Timm Bäder [Tue, 27 Nov 2018 04:39:07 +0000 (05:39 +0100)]
adwaita: icon-shadow -> -gtk-icon-shadow
Timm Bäder [Mon, 26 Nov 2018 16:52:35 +0000 (17:52 +0100)]
gl renderer: Use stack to keep track of modelview matrix
So we can avoid calculating metadata for matrices all the time.
Timm Bäder [Fri, 23 Nov 2018 10:22:51 +0000 (11:22 +0100)]
colorplane: Convert crosshair rendering to snapshot
This is slightly different than the cairo version since the
half-transparent lines now overlap but nobody can see that anyway.
Timm Bäder [Fri, 23 Nov 2018 09:57:50 +0000 (10:57 +0100)]
colorscale: Cache hue texture
Otherwise we regenerate a new one on every snapshot() call.
Timm Bäder [Sat, 24 Nov 2018 10:15:29 +0000 (11:15 +0100)]
gldriver: Don't create surfaces to upload textures
Timm Bäder [Wed, 21 Nov 2018 16:51:10 +0000 (17:51 +0100)]
widget: Parent widgets may also consume motions
This is important when the target widget of an event is not the one that
would otherwise receive the gesture. For example, the GtkSwitch
implementation currently attaches a pan gesture to the switch itself,
but the target widget below the pointer might be the switch slider or
label.
See #1465
Timm Bäder [Tue, 20 Nov 2018 17:11:50 +0000 (18:11 +0100)]
switch: Shorten size_allocate impl a bit
Jakub Steiner [Mon, 26 Nov 2018 16:33:28 +0000 (17:33 +0100)]
Adwaita: help fullcolor app icons
- draw a large dropshadow for aboutboxes
- draw an outline for low res
See issues #1434 and #1445.
Jakub Steiner [Fri, 23 Nov 2018 16:32:46 +0000 (17:32 +0100)]
Adwaita: tone down broders, buttons
- very contrasty lines feel dated in today's flat world
- tone down the contrast a little
Jakub Steiner [Thu, 22 Nov 2018 12:20:10 +0000 (13:20 +0100)]
Adwaita: list buttons
- tone down buttons when inside lists
Fixes issue #1473
Timm Bäder [Tue, 20 Nov 2018 11:44:23 +0000 (12:44 +0100)]
widget: gdk_display_get_monitor can return NULL
Fixes #1466
Timm Bäder [Mon, 19 Nov 2018 17:12:27 +0000 (18:12 +0100)]
entry: Shorten finalize implementation
By using g_clear_pointer and g_clear_object where appropriate.
Timm Bäder [Tue, 20 Nov 2018 11:29:18 +0000 (11:29 +0000)]
Merge branch 'zbrown/emit-transient-for' into 'master'
window: Actually emit notify::transient-for
See merge request GNOME/gtk!424
Zander Brown [Mon, 19 Nov 2018 21:07:17 +0000 (21:07 +0000)]
window: Actually emit notify::transient-for
Because it seems we weren't doing that
Timm Bäder [Mon, 19 Nov 2018 13:38:34 +0000 (13:38 +0000)]
Merge branch 'benzea/foreach-documentation' into 'master'
container: Document that removal from foreach is permissible
Closes #1461
See merge request GNOME/gtk!423
Benjamin Berg [Mon, 19 Nov 2018 12:48:36 +0000 (13:48 +0100)]
container: Document that removal from foreach is permissible
It is permissable to remove a widget using gtk_container_remove from the
gtk_container_foreach callback handler. Document this fact to make it
more discoverable.
Fixes #1461
Timm Bäder [Mon, 19 Nov 2018 07:41:36 +0000 (07:41 +0000)]
Merge branch 'akitouni/gdkvulkan-doc-typo' into 'master'
vulkancontext: fix typos in documentation
See merge request GNOME/gtk!417
Timm Bäder [Mon, 19 Nov 2018 07:40:39 +0000 (07:40 +0000)]
Merge branch 'more-nullable' into 'master'
g-i: Add some nullable annotations
See merge request GNOME/gtk!419
Christoph Reiter [Sun, 18 Nov 2018 12:36:50 +0000 (13:36 +0100)]
g-i: Add some nullable annotations
Based on grepping arg docs for NULL.
See https://gitlab.gnome.org/GNOME/pygobject/issues/261
Abderrahim Kitouni [Sat, 17 Nov 2018 18:35:47 +0000 (19:35 +0100)]
vulkancontext: fix typos in documentation
Timm Bäder [Thu, 15 Nov 2018 09:59:01 +0000 (09:59 +0000)]
Merge branch 'jjardon/no_G_TYPE_INSTANCE_GET_PRIVATE' into 'master'
Stop using G_TYPE_INSTANCE_GET_PRIVATE completely
See merge request GNOME/gtk!402
Timm Bäder [Wed, 14 Nov 2018 13:30:28 +0000 (13:30 +0000)]
Merge branch 'include-ft2build.h' into 'master'
font chooser: Properly include freetype headers
Closes #1432
See merge request GNOME/gtk!413
Timm Bäder [Tue, 13 Nov 2018 19:54:18 +0000 (20:54 +0100)]
widget: Fix size-allocate signal docs
Timm Bäder [Tue, 13 Nov 2018 19:53:14 +0000 (20:53 +0100)]
Use g_clear_pointer to unparent widgets
Timm Bäder [Thu, 16 Aug 2018 04:53:03 +0000 (06:53 +0200)]
widget: Don't pass a position to ->size_allocate
The values have been 0/0 for a long time now, so just drop the
GtkAllocation argument and replace it with width and height.
Timm Bäder [Tue, 13 Nov 2018 14:33:31 +0000 (15:33 +0100)]
docs: Add GtkEventControllerLegacy
Timm Bäder [Tue, 13 Nov 2018 14:28:28 +0000 (15:28 +0100)]
vulkancontext: Add missing error switch
Timm Bäder [Tue, 13 Nov 2018 14:14:10 +0000 (15:14 +0100)]
appchooserbutton: Remove priv pointer
Timm Bäder [Tue, 13 Nov 2018 14:13:47 +0000 (15:13 +0100)]
testappchooserbutton: Fix for class hierarchy change
Timm Bäder [Tue, 13 Nov 2018 14:01:21 +0000 (15:01 +0100)]
appchooserbutton: Inherit from GtkWidget
Timm Bäder [Tue, 13 Nov 2018 13:08:32 +0000 (14:08 +0100)]
render: Fix a position/size mixup
Fixes the foreigndrawing demo.
Timm Bäder [Tue, 13 Nov 2018 04:09:35 +0000 (05:09 +0100)]
toolbar: Remove dead code
The size definitely changes, otherwise ->size_allocate does not get
called.
Timm Bäder [Tue, 13 Nov 2018 04:09:24 +0000 (05:09 +0100)]
toolbar: Remove some unused defines
Matthias Clasen [Mon, 12 Nov 2018 18:51:56 +0000 (13:51 -0500)]
wayland: Adapt to settings portal api change
ReadAll now accepts an array of patterns.
Carlos Garnacho [Mon, 12 Nov 2018 10:05:46 +0000 (10:05 +0000)]
Merge branch 'scroll-event-propagation' into 'master'
eventcontrollerscroll: Conditionally propagate ::scroll
Closes #45
See merge request GNOME/gtk!250
Ernestas Kulik [Wed, 18 Jul 2018 13:34:39 +0000 (16:34 +0300)]
eventcontrollerscroll: Conditionally propagate ::scroll
Currently, gtk_event_controller_scroll_handle_event() always returns
TRUE if it is handled, which stops the propagation of the event. If
there’s a single GtkEventControllerScroll in the widget hierarchy, that
means that no others will run, depending on the propagation phase. In
Nautilus, this can be observed when adding a scroll controller to the
GtkScrolledWindow (ctrl-scrolling controls the zoom level) - either the
scrolling or the zooming breaks.
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/45
Leonardo Taccari [Fri, 9 Nov 2018 21:13:30 +0000 (22:13 +0100)]
font chooser: Properly include freetype headers
freetype headers should be included via <ft2build.h> and then
indirectly via FT_*_H macros.
Fixes issue #1432.